.loading-container {
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.loading-svg {
  width: 128px;
  height: 128px;
  color: var(--primary-color);
}

.loading-spin__container {
  width: 56px;
  height: 56px;
  margin: 36px 0;
}

.loading-spin {
  position: relative;
  height: 100%;
  animation: loadingSpin 1s linear infinite;
}

.left-0 {
  left: 0;
}
.right-0 {
  right: 0;
}
.top-0 {
  top: 0;
}
.bottom-0 {
  bottom: 0;
}

.loading-spin-item {
  position: absolute;
  height: 16px;
  width: 16px;
  background-color: var(--primary-color);
  border-radius: 8px;
  -webkit-animation: loadingPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  animation: loadingPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes loadingSpin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loadingPulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.loading-delay-500 {
  -webkit-animation-delay: 500ms;
  animation-delay: 500ms;
}
.loading-delay-1000 {
  -webkit-animation-delay: 1000ms;
  animation-delay: 1000ms;
}
.loading-delay-1500 {
  -webkit-animation-delay: 1500ms;
  animation-delay: 1500ms;
}

.loading-title {
  font-size: 28px;
  font-weight: 500;
  color: #6a6a6a;
}
